[#005] 383. Ransom Note


Posted by s1101192101 on 2021-05-14

  • link:
    leetcode

  • 解題思路:

    1. 逐一讀取 magazine 中的字元,並使用 letters 對每個英文字母做 count
    2. 逐一讀取 ransomNote 中的字元,並從 letters 取出該英文字母
    3. 若再取出英文字母時,現有的該英文字母字數為 0 則代表無法拼出 ransomNote

  • 程式碼:

/**
 * @param {string} ransomNote
 * @param {string} magazine
 * @return {boolean}
 */
const canConstruct = function(ransomNote, magazine) {
    let letters = Array(26).fill(0);
    for(var i=0; i<magazine.length; i++) {
        letters[magazine[i].charCodeAt(0)-97]++;
    }
    for(var i=0; i<ransomNote.length; i++) {
        if(letters[ransomNote[i].charCodeAt(0)-97]===0) {
            return false;
        }
        letters[ransomNote[i].charCodeAt(0)-97]--;
    }
    return true;
};


  • 結果:



#Leetcode #string #easy







Related Posts

PHP 和 MySQL 的互動 1 : 連線

PHP 和 MySQL 的互動 1 : 連線

JS 的資料型態與賦值

JS 的資料型態與賦值

《嚴防後宮起火-以無聊宅宅的視角來理解版本控制的概念》

《嚴防後宮起火-以無聊宅宅的視角來理解版本控制的概念》


Comments